<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>函数柯里化</title>
</head>
<body>
  <h3>打开控制台</h3>

  <script>
    // 第一版
    var curry = function(fn) {
      // 处理首次调用方法传入的参数(主要是去掉fn参数)
      var args = [].slice.call(arguments, 1);
      return function() {
        // 把多次调用的非fn参数进行合并
        var newArgs = args.concat([].slice.call(arguments));
        // 
        return fn.apply(this, newArgs);
      };
    };

    function add(a, b) {
      return a + b;
    }

    // var addCurry = curry(add, 1, 2);
    // const res = addCurry();
    var addCurry = curry(add);
    const res = addCurry(1, 2);
    console.log(res);

  </script>
</body>
</html>